footer {
    overflow: hidden;
    position: relative;
    z-index: 9997;
    width: 100%;
    background: linear-gradient(to top, $white 85%, rgba($white, 0) );
    
    .standard_layout & {
        background: none;
    }
    
    .footer_contain {
        max-width: 100em;
        margin: 0 auto;
        padding: 4.5em 5.5% 2em;
    }
    
    .logomark {
        display: block;
        width: 2em;
        margin: 2em auto 0;
        
        img {
            display: block;
        }
    }
    
    .footer_bg {
        background: $light_gray;
        padding: 7.5em 0 3em;
    }
    
    @include fl-break(65em) {
        .footer_bg {
            padding-bottom: 6.75em;
        }
    }
}

.partner_block {
    position: relative;
    z-index: 1;
    padding: 1.5em;
    background: $white;
    box-shadow: 0 20px 30px -16px rgba($black, .2);
    margin-bottom: -8em;
    
    .btn {
        max-width: 16.875em;
    }
    
    @include fl-break(50em) {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 6%;
        
        .content {
            flex: 1;
            max-width: 41em;
            
            p {
                margin: 0;
            }
        }
        
        .btn {
            min-width: 25%;
            margin-left: 10%;
        }
    }
}

.footer_content {
    margin-bottom: 2.5em;
    
    &:last-of-type {
        margin: 0;
    }
    
    .logotype {
        width: 100%;
        margin-bottom: 2.5em;
        
        img {
            display: block;
            width: 100%;
            -ms-transform: translateX(8%) translateX(-1em); /* IE 11 */
            transform: translateX(calc(-8% + -1em));
        }
    }
    
    .search {
        width: 100%;
        
        .icon {
            margin-bottom: 0;
        }
    }
    
    @include fl-break(35em) {
        .logotype {
            img {
                -ms-transform: translateX(8%) translateX(-2em); /* IE 11 */
                transform: translateX(calc(-8% + -2em));
            }
        }
    }
    
    @include fl-break(45em) {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        margin-bottom: 4.25em;
        
        &:last-of-type {
            align-items: flex-start;
        }
        
        .logotype {
            margin: 0;
            flex: 1;
            
            img {
                -ms-transform: translateX(12.75%) translateX(-2em); /* IE 11 */
                transform: translateX(calc(-12.75% + -2em));
            }
        }
        
        .footer_nav {
            flex: 1;
        }
        
        .search_box, .footer_info {
            width: 45%;
        }
    }
    
    @include fl-break(65em) {
        margin-bottom: 6.25em;
    }
    
    @include fl-break(80em) {
        margin-bottom: 6.8125em;
        
        .logotype img {
            -ms-transform: translateX(10.75%) translateX(-2em); /* IE 11 */
            transform: translateX(calc(-10.75% + -2em)); 
        }
        
        .search_box, .footer_info {
            width: 31.5%;
        }
    }
    
    @include fl-break(95em) {
        .logotype img {
            -ms-transform: translateX(16%) translateX(-2em); /* IE 11 */
            transform: translateX(calc(-16% + -2em)); 
        }
    }
    
    @include fl-break(100em) {
        .logotype img {
            -ms-transform: translateX(16%) translateX(-3em); /* IE 11 */
            transform: translateX(calc(-16% + -3em)); 
        }
    }
}

.footer_info {
    p {
        opacity: .7;
        
        &.copyright {
            opacity: .4;
        }
    }
    
    .social_links {
        display: flex;
        align-items: center;
        list-style-type: none;
        margin: 0; padding: 0;
        
        li {
            display: block;
            margin-right: 1.5em;
            
            &:last-child {
                margin-right: 0;
            }
            
            img {
                transition: transform .3s ease;
            }
            
            a:hover img {
                transform: scale(1.08);
            }
        }
    }
}

.footer_nav {
    .nav_col {
        margin-bottom: 1.5em; padding-bottom: 1.5em;
        border-bottom: 1px solid $gray;
        
        &:last-child {
            border-bottom: none;
        }
    }
    
    .footer_nav_trigger {
        display: block;
        position: relative;
        padding: .5em 0;
        cursor: pointer;
        font-family: $headingFont;
        font-weight: 600;
        
        &::after {
            content: "+";
            position: absolute;
            top: 50%; right: 0;
            transform: translateY(-50%);
            transition: transform .3s ease;
        }
    }
    
    .footer_nav_contain {
        max-height: 0;
        overflow: hidden;
        transition: max-height .4s ease;
        
        ul {
            list-style-type: none;
            margin: 0; padding: 0;
            
            li {
                a {
                    display: block;
                    color: $black;
                    font-size: .875em;
                    opacity: .6;
                    padding: .5em 0;
                    text-decoration: none;
                    
                    &:hover {
                        opacity: .85;
                    }
                }
            }
        }
    }
    
    .nav_col.nav--on {
        .footer_nav_trigger::after { 
            transform: translateY(-50%) rotate(45deg);
        }
        
        .footer_nav_contain {
            max-height: 33em;
        }
    }
    
    @include fl-break(40em) {
        display: flex;
        flex-wrap: wrap;
        
        .nav_col {
            width: 50%;
            padding-right: 5%;
            margin-bottom: 2.5em; padding-bottom: 0;
            border-bottom: none;
        } 
        
        .footer_nav_trigger {
            cursor: inherit;
            padding-top: 0;
            margin-bottom: 1em;

            &::after {
                display: none;
            }
        }
        
        .footer_nav_contain {
            max-height: 33em;
        }
    }
    
    @include fl-break(80em) {
        flex-wrap: nowrap;
        
        .nav_col {
            width: 25%;
            margin: 0;
        } 
    }
}
